]> git.r.bdr.sh - rbdr/super-polarity/blobdiff - Super Polarity/Player.cs
Merge branch 'master' of github.com:benbeltran/super-polarity
[rbdr/super-polarity] / Super Polarity / Player.cs
diff --git a/Super Polarity/Player.cs b/Super Polarity/Player.cs
new file mode 100644 (file)
index 0000000..184abdd
--- /dev/null
@@ -0,0 +1,81 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using Microsoft.Xna.Framework;
+using Microsoft.Xna.Framework.Graphics;
+
+namespace SuperPolarity
+{
+    public class Player
+    {
+        public int Score;
+        public int Multiplier;
+        public int Lives;
+
+
+        SpriteFont DebugFont;
+        SuperPolarity Game;
+
+        Texture2D LifeSprite;
+
+        public Player(SuperPolarity game)
+        {
+            Score = 0;
+            Multiplier = 1;
+            Lives = 3;
+            Game = game;
+            DebugFont = Game.Content.Load<SpriteFont>("Fonts\\bigfont");
+            LifeSprite = Game.Content.Load<Texture2D>("Graphics\\neutral-ship");
+        }
+
+        public void AddScore(int value)
+        {
+            Score = Score + (value * Multiplier);
+        }
+
+        public void AddMultiplier(int value)
+        {
+            Multiplier = Multiplier + 1;
+        }
+
+        public void ResetMultiplier()
+        {
+            Multiplier = 1;
+        }
+
+        public void Draw(SpriteBatch spriteBatch)
+        {
+            var UiColor = new Color(0, 0, 0, 200);
+            var lightColor = new Color(0, 0, 0, 128);
+            spriteBatch.DrawString(DebugFont, Score.ToString(), new Vector2(40, 30), UiColor);
+            spriteBatch.DrawString(DebugFont, "x" + Multiplier.ToString(), new Vector2(40, 50), lightColor);
+
+            var lifePosition = new Vector2(Game.GraphicsDevice.Viewport.Width - 140, 30);
+            if (Lives > 4)
+            {
+                spriteBatch.Draw(LifeSprite, lifePosition, null, UiColor, (float)(Math.PI / 2), Vector2.Zero, 0.5f, SpriteEffects.None, 0f);
+                spriteBatch.DrawString(DebugFont, "x " + Lives.ToString(), new Vector2(lifePosition.X + 8, lifePosition.Y + 5), UiColor);
+            }
+            else
+            {
+                for (var i = 0; i < Lives; i++)
+                {
+                    spriteBatch.Draw(LifeSprite, new Vector2(lifePosition.X + (i * 28), lifePosition.Y), null, UiColor, (float)(Math.PI / 2), Vector2.Zero, 0.5f, SpriteEffects.None, 0f);
+                }
+            }
+        }
+
+        public void Update()
+        {
+
+        }
+
+        public void Reset()
+        {
+            Score = 0;
+            Multiplier = 1;
+            Lives = 3;
+        }
+    }
+}